#include "stdafx.h"
#include "ChessFactory.h"

#include "ChessStatus.h"
#include "WinRate.h"
#include "FutureStep.h"


using namespace ExperientialSystem;

ChessFactory::ChessFactory(WinnerChecker* winnerChecker) :_winnerChecker(winnerChecker)
{
}


ChessFactory::~ChessFactory()
{
}

IStatus* ChessFactory::CreateStatus() const
{
	return new ChessStatus();
}

IValue* ChessFactory::CreateValue() const
{
	return new WinRate();
}

IPolicy* ChessFactory::CreatePolicy() const
{
	return new FutureStep(_winnerChecker);
}
